#ifndef __MOTOR_H__
#define __MOTOR_H__

#include "bsp.h"
#include "pid.h"



typedef enum{
    MOTOR_LF, // 左前
    MOTOR_LB, // 左后
    MOTOR_RF, // 右前
    MOTOR_RB, // 右后
    MOTOR_SUM, // 电机总数
}MotorNum_e;

typedef enum{
    MOTOR_STOP, // 停止
    MOTOR_POSITIVE, // 正转
    MOTOR_REVERSE, // 反转
}MotorDir_e;

typedef struct{
    MotorNum_e num; // 电机编号
    MotorDir_e dir; // 转动方向 
    float pwm;      // 输出 pwm
    float rpm;      // 转速 rpm
    PID_t pid;      // PID参数
}Motor_t;


void motor_init(void);
void motor_control(void);
void motor_set_pwm(MotorNum_e motor_num, float pwm);
void motor_set_rpm(MotorNum_e motor_num, float rpm);
void motor_set_targetval(MotorNum_e motor_num, float targetval);



#endif

